﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using QLTV.Public;
using QLTV.BLL;

namespace QLTV.GUI.UserControl
{
    public partial class ucDocGia : DevExpress.XtraEditors.XtraUserControl
    {
        DocGiaBLL dgBLL = new DocGiaBLL();
        DocGiaDTO dgDTO = new DocGiaDTO();
        LoaiDGBLL ldgBLL = new LoaiDGBLL();
        public ucDocGia()
        {
            InitializeComponent();
        }
        // us load thi load DSDG vô ucDG
        private void ucDocGia_Load(object sender, EventArgs e)
        {
            DataTable dts = ldgBLL.LoadTenLoaiDG();
            //DataTable dts = dgBLL.LoadDSDG();
            dts.Rows.Add("Tất cả");
            comboLDG.DisplayMember = "TenLDG";
            comboLDG.ValueMember = "MaLDG";
            comboLDG.DataSource = dts;
            comboLDG.SelectedIndex = comboLDG.Items.Count - 1;

            grdDG.DataSource = dgBLL.LoadDSDG();
        }
        // xử lý tăng số thứ tự
        private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            if (e.Column == gridColumn9) {
                e.DisplayText = Convert.ToString(e.RowHandle+1);
            }
        }
        private void frm_myEvent(object sender, bool check)
        {
            bool kt = check;
            if (kt == true)
            {
                grdDG.DataSource = dgBLL.LoadDSDG();
            }

        }
        private void btnThem_Click_1(object sender, EventArgs e)
        {
            Forms.frmThemDocGia frmThemDG = new Forms.frmThemDocGia();
            frmThemDG.myEvent += frm_myEvent;
            frmThemDG.ShowDialog();
        }

        private void btnChinhSua_Click(object sender, EventArgs e)
        {
            try
            {
                string _maDG = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["MaDG"]).ToString();

                // Truyen cai MaKH vua lay dx...qua ben form NhapKhachHang.
                Forms.frmThemDocGia frmThemDG = new Forms.frmThemDocGia(_maDG);
                frmThemDG.myEvent += frm_myEvent;
                frmThemDG.ShowDialog();
            }
            catch
            {
                XtraMessageBox.Show("Bạn phải chọn dòng chưa dữ liệu", Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btnXoa_Click_1(object sender, EventArgs e)
        {
            try
            {
                string _MaDG = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["MaDG"]).ToString();
                if (XtraMessageBox.Show("Bạn chắc chắn có muốn xóa độc giả này ?", "Hỏi đáp", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    dgDTO.MaDG = _MaDG;
                    int kq = dgBLL.XoaDG_MaDG(dgDTO);
                    if (kq > 0)
                    {
                        XtraMessageBox.Show("Xóa thành công!", "Dữ liệu đã được cập nhật lại trong CSDL", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        ucDocGia_Load(sender, e);
                    }
                    else
                    {
                        XtraMessageBox.Show("Xóa không được! Vui lòng kiểm tra lại", "Xảy ra lôi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
              
            }
            catch
            {
                XtraMessageBox.Show("Bạn phải chọn dòng chứa dữ liệu", Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void txtTim_EditValueChanged(object sender, EventArgs e)
        {
            if (txtTim.Text.ToString().Trim().Length == 0) {
                grdDG.DataSource = dgBLL.LoadDSDG();
            }
            else
            {
                dgDTO.MaDG = txtTim.Text;
                grdDG.DataSource = dgBLL.DocGia_TimTheoTen(dgDTO);
            }
            
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboLDG.SelectedIndex == comboLDG.Items.Count - 1)
            {
                grdDG.DataSource = dgBLL.LoadDSDG();
            }
            else {
                dgDTO.MaLDG = comboLDG.Text;
                grdDG.DataSource = dgBLL.LoadDG_TimTheoLoaiDG(dgDTO);
            }
        }

      
    }
}
